package com.ruoyi.supplier.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * AT transaction mode undo table业务对象
 *
 * @author ruoyi
 * @date 2023-09-18
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class UndoLogBo extends BaseEntity {

    /**
     * branch transaction id
     */
    @NotNull(message = "branch transaction id不能为空", groups = { EditGroup.class })
    private Long branchId;

    /**
     * global transaction id
     */
    @NotBlank(message = "global transaction id不能为空", groups = { EditGroup.class })
    private String xid;

    /**
     * undo_log context,such as serialization
     */
    @NotBlank(message = "undo_log context,such as serialization不能为空", groups = { AddGroup.class, EditGroup.class })
    private String context;

    /**
     * rollback info
     */
    @NotBlank(message = "rollback info不能为空", groups = { AddGroup.class, EditGroup.class })
    private String rollbackInfo;

    /**
     * 0:normal status,1:defense status
     */
    @NotNull(message = "0:normal status,1:defense status不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long logStatus;

    /**
     * create datetime
     */
    @NotNull(message = "create datetime不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date logCreated;

    /**
     * modify datetime
     */
    @NotNull(message = "modify datetime不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date logModified;


}
